package com.haiwei.poi.common;

/**
 * 数组工具类.
 *
 * @date: 2022-06-25
 * @version: 1.0
 * @author: karry@haiwei.com
 */
public class HaiweiArrayUtil {
    
    /**
     * 包含空值
     * @param array
     * @return
     */
    public static boolean hasBlack(Object ...  array){
        if(length(array) == 0){
            return true;
        }
        for(Object obj : array){
            if (obj == null){
                return true;
            }
        }
        
        return false;
    }
    
    /**
     * 判断数组长度
     * @param array
     * @param len
     * @return
     */
    public static boolean lengthEqual(Object[] array,int len){
        return length(array) == len;
    }
    
    /**
     * 获取长度
     * @param array
     * @return
     */
    public static int length(Object ...  array){
        if(array == null){
            return 0;
        }
        return array.length;
    }
    
    /**
     * 为空，长度为0
     * 区别于Balnk是没有有用元素
     * @param array
     * @return
     */
    public static boolean isNotEmpty(Object ...  array){
        return length(array) > 0;
    }
    
    /**
     * 长度不为0
     * @param array
     * @return
     */
    public static boolean isEmpty(Object ...  array){
        return length(array) == 0;
    }
    
    /**
     * 判断元素是否为空
     * 不仅仅得长度不为0，里边也得存储值
     * @param array
     * @return
     */
    public static boolean isBlank(Object ...  array){
        if( length(array) == 0){
            return true;
        }
        
        for(Object obj : array) {
            if(obj != null){
                return false;
            }
        }
        
        return true;
    }
    
    /**
     * 长度不为0，且有数据
     * @param array
     * @return
     */
    public static boolean isNotBlank(Object ...  array){
        return !isBlank(array);
    }
    
    
}
